﻿using BCCommon.TMS.FreightEnums;
using BCCommon.TMS.Order;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace BCDto.TMS.FreightConfiguration
{
    /// <summary>
    /// 运费配置请求模型
    /// </summary>
    public class FreightConfigurationRequestDto
    {
        /// <summary>
        /// 省份编码
        /// </summary>
        [Required(ErrorMessage = "省份为必填项")]
        public string ProvinceCode { get; set; }

        /// <summary>
        /// 市编码
        /// </summary>
        [Required(ErrorMessage = "地级市为必填项")]
        public string CityCode { get; set; }

        /// <summary>
        /// 发货地县区编码
        /// </summary>
        [Required(ErrorMessage = "发货区/县为必填项")]
        public string CountyCode { get; set; }

        /// <summary>
        /// 车辆类型Id
        /// </summary>
        [Required(ErrorMessage = "车辆类型为必填项")]
        public int VehicleTypeId { get; set; }

        /// <summary>
        /// 车辆分类
        /// </summary>
        [Required(ErrorMessage = "车辆分类为必选项")]
        public List<int> VehicleCategoryReferenceIds { get; set; }

        /// <summary>
        /// 起步价
        /// </summary>
        [Required(ErrorMessage = "起步价为必填项")]
        public decimal StartPrice { get; set; }

        /// <summary>
        /// 起步里程
        /// </summary>
        [Required(ErrorMessage = "起步里程为必填项")]
        public int StartMileage { get; set; }

        /// <summary>
        /// 单公里价格
        /// </summary>
        [Required(ErrorMessage = "单公里价格为必填项")]
        public decimal MileagePrice { get; set; }

        /// <summary>
        /// 订单来源(商城、TMS、仓库)
        /// </summary>
        [Required(ErrorMessage = "订单来源为必填项")]
        public OrderSourceType SourceType { get; set; }

        /// <summary>
        /// 物流类型（一般、快速、急速）
        /// </summary>
        [Required(ErrorMessage = "物流类型为必填项")]
        public FreightType FreightType { get; set; }
    }
}